package w83b.w83bOperacionesPaso.w83bCertificaciones;

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import w83b.w83bBeans.W83bCertificacionesBean;
import w83b.w83bBeans.W83bPlantillasBean;
import w83b.w83bBeans.W83bUsuarioXLNetsBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidades.W83bUtilidadesRTF;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import w83b.w83bUtilidadesComunes.W83bUtilidades;
import w83b.w83bUtilidadesComunes.W83bUtilidadesN38API;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bTablaConveniosOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83bTablaCertificacionesEmpresaRtfAction extends Q70ActionPasoOP{


	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

		HashMap mapaPar = new HashMap();
		HashMap plantillas=(HashMap)contexto.get("w83bPlantillasMap");
		W83bPlantillasBean plantilla=(W83bPlantillasBean)plantillas.get(W83bClsConstantes.CERTIFICADO_EMPRESA.toUpperCase());
	
		W83bCertificacionesBean certificacion=(W83bCertificacionesBean)contexto.get("resultadoCertificacion");
		W83bUsuarioXLNetsBean usuario = (W83bUsuarioXLNetsBean)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_USUARIO);
		HashMap datosDelDep=  W83bUtilidadesComunes.obtenerTitulosDelegacionDepartamento(usuario,certificacion.getIdioma());
		StringBuffer  tituloDelelegacionEs = (StringBuffer)datosDelDep.get("tituloDelelegacionEs");
		StringBuffer  tituloDelelegacionEu = (StringBuffer)datosDelDep.get("tituloDelelegacionEu");
		StringBuffer  tituloDelelegacionTextoEs = (StringBuffer)datosDelDep.get("tituloDelelegacionTextoEs");
		StringBuffer  tituloDelelegacionTextoEu = (StringBuffer)datosDelDep.get("tituloDelelegacionTextoEu");
		StringBuffer  tituloDepEs = (StringBuffer)datosDelDep.get("tituloDepEs");
		StringBuffer  tituloDepEu = (StringBuffer)datosDelDep.get("tituloDepEu");
		String articuloDelegacion=W83bClsConstantes.VACIO;
        if(!W83bClsConstantes.CONSTANTE_SERVICIOS_CENTRALES.equals(W83bUtilidadesN38API.elegirProvinciaDelegacion(usuario.getPerfilXLNets()))){
        	articuloDelegacion="la ";
        }
        mapaPar.put("<<DEPEUS>>",tituloDepEu.toString());
	    mapaPar.put("<<DEPCAS>>",tituloDepEs.toString());
	    mapaPar.put("<<DELEGACIONEUSK>>",tituloDelelegacionEu.toString());
	    mapaPar.put("<<DELEGACION>>",tituloDelelegacionEs.toString());  
	    mapaPar.put("<<DELEGACIONTEXTO>>",tituloDelelegacionTextoEs.toString());
	    mapaPar.put("<<ARTICULODELEGACIONTEXTO>>",articuloDelegacion);
	    if(!W83bClsConstantes.CONSTANTE_SERVICIOS_CENTRALES.equals(certificacion.getUsuarioBean().getCodTerritorioDelegacion()))
		{
	    	 mapaPar.put("<<DELEGACIONTEXTOEUSK>>",tituloDelelegacionTextoEu.toString().concat("(e)ko"));
		}else{
			mapaPar.put("<<DELEGACIONTEXTOEUSK>>",tituloDelelegacionTextoEu.toString());
		}
	    
		//fin de cabecera
	    //PIE
	   mapaPar.put("<<PIE>>",usuario.getCalleListadosFormateada());
	    //FIN PIE
		
		
		
		
		//String[] cargo = certificacion.getCargo().split("_");
		String[] firmante = certificacion.getFirmante().split("_");
		String auxSC=W83bClsConstantes.VACIO;
		String auxSCEusk=W83bClsConstantes.VACIO;
		if(W83bClsConstantes.CONSTANTE_SERVICIOS_CENTRALES.equals(certificacion.getUsuarioBean().getCodTerritorioDelegacion()))
				{
					auxSCEusk="LAN ";
					auxSC=" DE TRABAJO";
				}
		
			mapaPar.put("<<RESPONSABLE>>",firmante[0]);
			mapaPar.put("<<RESPONSABLEMINUS>>",W83bUtilidades.inicialesMayusculas(firmante[0]));
			mapaPar.put("<<CARGO>>",certificacion.getCargodesc().toUpperCase().concat(auxSC));
			mapaPar.put("<<CARGOEU>>",auxSCEusk.concat(certificacion.getCargodese().toUpperCase()));
			mapaPar.put("<<CARGOMINUS>>",certificacion.getCargodesc().toLowerCase());
			mapaPar.put("<<CARGOMINUSEUSK>>",certificacion.getCargodese().toLowerCase());
			
			
		mapaPar.put("<<PROVCAST>>",certificacion.getDescProvinciaCast());
		mapaPar.put("<<PROVEUSK>>",certificacion.getDescProvinciaEusk());
		if(certificacion.getIdioma().equals(W83bClsConstantes.CONSTANTE_CASTELLANO)){
			mapaPar.put("<<PROV>>",certificacion.getDescProvinciaCast());
		}
		else{
			mapaPar.put("<<PROV>>",certificacion.getDescProvinciaEusk());
		}
		List delegados=certificacion.getListaDelegados();
		mapaPar.put("<<RAZON>>",certificacion.getRazon());
		mapaPar.put("<<FECELEC>>",certificacion.getFechaEleccion());
		mapaPar.put("<<CODCENTRO>>",certificacion.getCodCentro());
		mapaPar.put("<<NOMCENTRO>>",certificacion.getRazon());
		mapaPar.put("<<NUMENTRADA>>",certificacion.getActaCompleto());
		mapaPar.put("<<FECENTRADA>>",certificacion.getFechaAlta());
		mapaPar.put("<<NUMREG>>",certificacion.getNumeroRegistroDefinitivo());
		mapaPar.put("<<FECREG>>",certificacion.getFechaRegistroDefinitivo());
		if(StringUtils.isNotEmpty(certificacion.getObservaciones())){
			mapaPar.put("<<OBSERV>>",certificacion.getObservaciones());
		}
		else{
			mapaPar.put("<<OBSERV>>","");
		}
			
		StringBuffer tabla= new StringBuffer(6000);
		//comienzo de la tabla
		tabla.append("{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs24\\\\insrsid4196955 ");
		tabla.append("\\\\par \\\\ltrrow}\\\\trowd \\\\irow0\\\\irowband0\\\\ltrrow\\\\ts11\\\\trgaph70\\\\trleft0\\\\trkeep\\\\trbrdrt\\\\brdrs\\\\brdrw15 \\\\trbrdrl\\\\brdrs\\\\brdrw15 \\\\trbrdrb\\\\brdrs\\\\brdrw15 \\\\trbrdrr\\\\brdrs\\\\brdrw15 \\\\trbrdrh\\\\brdrs\\\\brdrw15 \\\\trbrdrv\\\\brdrs\\\\brdrw15"); 
		tabla.append("\\\\trftsWidth3\\\\trwWidth9498\\\\trftsWidthB3\\\\trftsWidthA3\\\\trpaddl70\\\\trpaddr70\\\\trpaddfl3\\\\trpaddfr3\\\\tblrsid8416608\\\\tblind70\\\\tblindtype3 \\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15"); 
		tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2410\\\\clshdrawnil \\\\cellx2410\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1276\\\\clshdrawnil \\\\cellx3686\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15"); 
		tabla.append("\\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2835\\\\clshdrawnil \\\\cellx6521\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15"); 
		tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1984\\\\clshdrawnil \\\\cellx8505\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth993\\\\clshdrawnil \\\\cellx9498\\\\pard \\\\ltrpar");
		tabla.append("\\\\qc \\\\li0\\\\ri-70\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin-70\\\\lin0\\\\pararsid8416608 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\b\\\\fs22\\\\insrsid8416608 SINDIKATUA  / CENTRAL SINDICAL \\\\cell SIGLAK / SIGLAS\\\\cell }\\\\pard \\\\ltrpar");
		tabla.append("\\\\qc \\\\li0\\\\ri-70\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin-70\\\\lin0\\\\pararsid12676881 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\b\\\\fs22\\\\insrsid8416608 NOMBRE CENTRAL / SINDIKATUAREN IZENA\\\\cell ORDEZKARIAK / DELEGADOS\\\\cell %\\\\cell }\\\\pard \\\\ltrpar");
		tabla.append("\\\\ql \\\\li0\\\\ri0\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin0\\\\lin0 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\b\\\\fs22\\\\insrsid8416608 \\\\");
		
		
		if(!delegados.isEmpty()){
			
			Iterator itr = delegados.iterator();
			int total=0;
			while(itr.hasNext()){
				W83bCertificacionesBean cert=(W83bCertificacionesBean)itr.next();
				if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_ALAVA)){
					total=total+Integer.parseInt(cert.getDelegadosAlava());
				}
				else if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_BIZKAIA)){
					total=total+Integer.parseInt(cert.getDelegadosVizcaya());
				}
				else if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_GIPUZKOA)){
					total=total+Integer.parseInt(cert.getDelegadosGuipuzcoa());
				}
			}
			itr = delegados.iterator();
			String porcentaje="";
			while(itr.hasNext()){
				
				W83bCertificacionesBean cert=(W83bCertificacionesBean)itr.next();
				tabla.append("trowd \\\\irow0\\\\irowband0\\\\ltrrow\\\\ts11\\\\trgaph70\\\\trleft0\\\\trkeep\\\\trbrdrt\\\\brdrs\\\\brdrw15 \\\\trbrdrl\\\\brdrs\\\\brdrw15 \\\\trbrdrb");
				tabla.append("\\\\brdrs\\\\brdrw15 \\\\trbrdrr\\\\brdrs\\\\brdrw15 \\\\trbrdrh\\\\brdrs\\\\brdrw15 \\\\trbrdrv\\\\brdrs\\\\brdrw15 \\\\trftsWidth3\\\\trwWidth9498\\\\trftsWidthB3\\\\trftsWidthA3\\\\trpaddl70\\\\trpaddr70\\\\trpaddfl3\\\\trpaddfr3\\\\tblrsid8416608\\\\tblind70\\\\tblindtype3 \\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl");
				tabla.append("\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2410\\\\clshdrawnil \\\\cellx2410\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 ");
				tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1276\\\\clshdrawnil \\\\cellx3686\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2835\\\\clshdrawnil \\\\cellx6521\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15"); 
				tabla.append("\\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1984\\\\clshdrawnil \\\\cellx8505\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15"); 
				tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth993\\\\clshdrawnil \\\\cellx9498\\\\row \\\\ltrrow}\\\\");
				
				
				tabla.append("trowd \\\\irow1\\\\irowband1\\\\lastrow \\\\ltrrow\\\\ts11\\\\trgaph70\\\\trleft0\\\\trkeep\\\\trbrdrt\\\\brdrs\\\\brdrw15 \\\\trbrdrl\\\\brdrs\\\\brdrw15 \\\\trbrdrb\\\\brdrs\\\\brdrw15 \\\\trbrdrr\\\\brdrs\\\\brdrw15 \\\\trbrdrh\\\\brdrs\\\\brdrw15"); 
				tabla.append("\\\\trbrdrv\\\\brdrs\\\\brdrw15 \\\\trftsWidth3\\\\trwWidth9498\\\\trftsWidthB3\\\\trftsWidthA3\\\\trpaddl70\\\\trpaddr70\\\\trpaddfl3\\\\trpaddfr3\\\\tblrsid15012111\\\\tblind70\\\\tblindtype3 \\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15"); 
				tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2410\\\\clshdrawnil \\\\cellx2410\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1276\\\\clshdrawnil \\\\cellx3686\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 ");
				tabla.append("\\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2835\\\\clshdrawnil \\\\cellx6521\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 ");
				tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1984\\\\clshdrawnil \\\\cellx8505\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth993\\\\clshdrawnil \\\\cellx9498\\\\pard \\\\ltrpar");
				tabla.append("\\\\qc \\\\li0\\\\ri-70\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin-70\\\\lin0\\\\pararsid10835280 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid9777569 ");
				tabla.append(cert.getSindicato());
				tabla.append("}{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }\\\\pard \\\\ltrpar");
				tabla.append("\\\\qc \\\\li0\\\\ri-70\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin-70\\\\lin0\\\\pararsid12676881 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid9777569 ");
				tabla.append(cert.getSiglasSindicato());
				tabla.append("}{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0"); 
				tabla.append("\\\\fs22\\\\insrsid9777569 ");
				if(certificacion.getIdioma().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_CASTELLANO)){
					tabla.append(cert.getDescripcionSindicato());
				}
				else{
					tabla.append(cert.getDescripcionSindicatoEusk());
				}
				tabla.append("}{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid9777569 ");
				if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_ALAVA)){
					tabla.append(cert.getDelegadosAlava());
				}
				else if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_BIZKAIA)){
					tabla.append(cert.getDelegadosVizcaya());
				}
				else if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_GIPUZKOA)){
					tabla.append(cert.getDelegadosGuipuzcoa());
				}
				tabla.append("}{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 ");
				tabla.append("\\\\fs22\\\\insrsid9777569 ");
				
				if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_ALAVA)){
					porcentaje=calcularporcentaje(Integer.parseInt(cert.getDelegadosAlava()),total);
				}
				else if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_BIZKAIA)){
					porcentaje=calcularporcentaje(Integer.parseInt(cert.getDelegadosVizcaya()),total);
				}
				else if(certificacion.getTerritorio().equalsIgnoreCase(W83bClsConstantes.CONSTANTE_GIPUZKOA)){
					porcentaje=calcularporcentaje(Integer.parseInt(cert.getDelegadosGuipuzcoa()),total);
				}
				tabla.append(porcentaje.concat("%"));
				tabla.append("}{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }\\\\pard \\\\ltrpar\\\\ql \\\\li0\\\\ri0\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin0\\\\lin0 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 ");
				tabla.append("\\\\");
			}
		
		}else{
			tabla.append("trowd \\\\irow0\\\\irowband0\\\\ltrrow\\\\ts11\\\\trgaph70\\\\trleft0\\\\trkeep\\\\trbrdrt\\\\brdrs\\\\brdrw15 \\\\trbrdrl\\\\brdrs\\\\brdrw15 \\\\trbrdrb");
			tabla.append("\\\\brdrs\\\\brdrw15 \\\\trbrdrr\\\\brdrs\\\\brdrw15 \\\\trbrdrh\\\\brdrs\\\\brdrw15 \\\\trbrdrv\\\\brdrs\\\\brdrw15 \\\\trftsWidth3\\\\trwWidth9498\\\\trftsWidthB3\\\\trftsWidthA3\\\\trpaddl70\\\\trpaddr70\\\\trpaddfl3\\\\trpaddfr3\\\\tblrsid8416608\\\\tblind70\\\\tblindtype3 \\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl");
			tabla.append("\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2410\\\\clshdrawnil \\\\cellx2410\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 ");
			tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1276\\\\clshdrawnil \\\\cellx3686\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2835\\\\clshdrawnil \\\\cellx6521\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15"); 
			tabla.append("\\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1984\\\\clshdrawnil \\\\cellx8505\\\\clvertalt\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15"); 
			tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth993\\\\clshdrawnil \\\\cellx9498\\\\row \\\\ltrrow}\\\\");
			
			
			tabla.append("trowd \\\\irow1\\\\irowband1\\\\lastrow \\\\ltrrow\\\\ts11\\\\trgaph70\\\\trleft0\\\\trkeep\\\\trbrdrt\\\\brdrs\\\\brdrw15 \\\\trbrdrl\\\\brdrs\\\\brdrw15 \\\\trbrdrb\\\\brdrs\\\\brdrw15 \\\\trbrdrr\\\\brdrs\\\\brdrw15 \\\\trbrdrh\\\\brdrs\\\\brdrw15 ");
			tabla.append("\\\\trbrdrv\\\\brdrs\\\\brdrw15 \\\\trftsWidth3\\\\trwWidth9498\\\\trftsWidthB3\\\\trftsWidthA3\\\\trpaddl70\\\\trpaddr70\\\\trpaddfl3\\\\trpaddfr3\\\\tblrsid15012111\\\\tblind70\\\\tblindtype3 \\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15"); 
			tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2410\\\\clshdrawnil \\\\cellx2410\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1276\\\\clshdrawnil \\\\cellx3686\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 ");
			tabla.append("\\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2835\\\\clshdrawnil \\\\cellx6521\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 ");
			tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1984\\\\clshdrawnil \\\\cellx8505\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth993\\\\clshdrawnil \\\\cellx9498\\\\pard \\\\ltrpar");
			tabla.append("\\\\qj \\\\li0\\\\ri-70\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin-70\\\\lin0\\\\pararsid12676881 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid9777569 <<SIND>>}{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }\\\\pard \\\\ltrpar");
			tabla.append("\\\\qc \\\\li0\\\\ri-70\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin-70\\\\lin0\\\\pararsid12676881 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid9777569 <<SIG>>}{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0"); 
			tabla.append("\\\\fs22\\\\insrsid9777569 }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid9777569 }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 ");
			tabla.append("\\\\fs22\\\\insrsid9777569 }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 \\\\cell }\\\\pard \\\\ltrpar\\\\ql \\\\li0\\\\ri0\\\\widctlpar\\\\intbl\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin0\\\\lin0 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs22\\\\insrsid8416608 ");
			tabla.append("\\\\");
			
			
		}
		tabla.append("trowd \\\\irow1\\\\irowband1\\\\lastrow \\\\ltrrow\\\\ts11\\\\trgaph70\\\\trleft0\\\\trkeep\\\\trbrdrt\\\\brdrs\\\\brdrw15 \\\\trbrdrl\\\\brdrs\\\\brdrw15 \\\\trbrdrb\\\\brdrs\\\\brdrw15 \\\\trbrdrr\\\\brdrs\\\\brdrw15 \\\\trbrdrh\\\\brdrs\\\\brdrw15 \\\\trbrdrv\\\\brdrs\\\\brdrw15 ");
		tabla.append("\\\\trftsWidth3\\\\trwWidth9498\\\\trftsWidthB3\\\\trftsWidthA3\\\\trpaddl70\\\\trpaddr70\\\\trpaddfl3\\\\trpaddfr3\\\\tblrsid15012111\\\\tblind70\\\\tblindtype3 \\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15"); 
		tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2410\\\\clshdrawnil \\\\cellx2410\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1276\\\\clshdrawnil \\\\cellx3686\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15"); 
		tabla.append("\\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth2835\\\\clshdrawnil \\\\cellx6521\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15"); 
		tabla.append("\\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth1984\\\\clshdrawnil \\\\cellx8505\\\\clvertalc\\\\clbrdrt\\\\brdrs\\\\brdrw15 \\\\clbrdrl\\\\brdrs\\\\brdrw15 \\\\clbrdrb\\\\brdrs\\\\brdrw15 \\\\clbrdrr\\\\brdrs\\\\brdrw15 \\\\cltxlrtb\\\\clftsWidth3\\\\clwWidth993\\\\clshdrawnil \\\\cellx9498\\\\row }\\\\pard \\\\ltrpar");
		tabla.append("\\\\qj \\\\li0\\\\ri-545\\\\widctlpar\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin-545\\\\lin0\\\\itap0\\\\pararsid12676881 {\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs24\\\\insrsid4196955"); 
		tabla.append("\\\\par }{\\\\rtlch\\\\fcs1 \\\\af0 \\\\ltrch\\\\fcs0 \\\\fs24\\\\insrsid15012111"); 
		tabla.append("\\\\par }\\\\pard \\\\ltrpar\\\\ql \\\\li0\\\\ri-545\\\\widctlpar\\\\wrapdefault\\\\aspalpha\\\\aspnum\\\\faauto\\\\adjustright\\\\rin-545\\\\lin0\\\\itap0\\\\pararsid15012111"); 
		
		
		//Fin tabla
		mapaPar.put("<<TABLA>>", tabla.toString());	
			
	StringBuffer buffer = W83bUtilidadesRTF.sustituirCadenaCaracteresRtf(plantilla.getFichero(), mapaPar);
		
	
    response.setContentType("application/msword");
    response.setContentLength(buffer.toString().getBytes().length);
    response.setHeader("Content-disposition","attachment;filename="+plantilla.getNombrePlantilla());
    response.getOutputStream().write(buffer.toString().getBytes());
    response.getOutputStream().flush();
	
    return null;
	}
	
	private String calcularporcentaje(int totalparc,int total){
		DecimalFormatSymbols simbolos = new DecimalFormatSymbols();
		simbolos.setDecimalSeparator(',');
		DecimalFormat formateador = new DecimalFormat("####.##",simbolos);
		if (total==0){
			return "0";
		}
		else{
			float n=((float)totalparc*100)/(float)total;
			return formateador.format(n);
		}
	}
	
	
}

